﻿#ifndef DATAIMPORTCONFIGURATIONDATAMANAGER_H
#define DATAIMPORTCONFIGURATIONDATAMANAGER_H

#include <QString>
#include <QObject>
#include <QList>
#include <QHash>
#include <QPair>
#include <QMap>
#include <QStack>
#include "API_DataManager.h"
#include "BaseModule/GlobalEnums.h"

namespace DataManager
{
    class API_DATAMANAGER DataImportConfigurationDataManager : public QObject
    {
        Q_OBJECT
        Q_PROPERTY(QList<int> m_importItemIDs READ getImportItemIDList WRITE setImportItemIDList)
        Q_PROPERTY(QList<QString> m_filePaths READ getFilePathList WRITE setFilePathList)
        Q_PROPERTY(QList<QString> m_datas READ getDataList WRITE setDataList)
        Q_PROPERTY(QList<QString> m_resultFileDatas READ getResultFileDataList WRITE setResultFileDataList)
        Q_PROPERTY(QList<int> m_fileDataTypes READ getFileDataTypeList WRITE setFileDataTypeList)

    public:
        Q_INVOKABLE DataImportConfigurationDataManager() {}
        ~DataImportConfigurationDataManager() {}

        QList<int> getImportItemIDList() { return m_importItemIDs; }
        void setImportItemIDList(QList<int> importItemIDs) { m_importItemIDs = importItemIDs; }
             
        QList<QString> getFilePathList() { return m_filePaths; }
        void setFilePathList(QList<QString> filePaths) { m_filePaths = filePaths; }

        QList<QString> getDataList() { return m_datas; }
        void setDataList(QList<QString> datas) { m_datas = datas; }

        QList<QString> getResultFileDataList() { return m_resultFileDatas; }
        void setResultFileDataList(QList<QString> resultFileDatas) { m_resultFileDatas = resultFileDatas; }

        QList<int> getFileDataTypeList() { return m_fileDataTypes; }
        void setFileDataTypeList(QList<int> fileDataTypes) { m_fileDataTypes = fileDataTypes; }

        void clear()
        {
            m_importItemIDs.clear();
            m_filePaths.clear();
            m_datas.clear();
            m_resultFileDatas.clear();
            m_fileDataTypes.clear();
        }

    private:
        QList<int> m_importItemIDs;
        QList<QString> m_filePaths;
        QList<QString> m_datas;
        QList<QString> m_resultFileDatas;
        QList<int> m_fileDataTypes;
    };
} // namespace DataManager
Q_DECLARE_METATYPE(DataManager::DataImportConfigurationDataManager*)
#endif
